Skip to contentMethod: parse(RouterConfiguration, TempVariableAssignment, Buffer, AssignmentFileParser)
      1: package parser.states.assignmentstates;
2: 
3: import model.RouterConfiguration;
4: import parser.AssignmentFileParser;
5: import parser.ParserException;
6: import parser.tempparserobjects.TempVariableAssignment;
7: import symbols.AbstractSymbol;
8: import symbols.StringSymbol;
9: import basic.Buffer;
10: 
11: /**
12:  * 
13:  * @author Muri
14:  * 
15:  */
16: public class AssignmentValueState extends AbstractAssignmentState {
17: 
18:         /**
19:          * 
20:          * @param tVA
21:          *            TempVariableAssignment
22:          * @param buffer
23:          *            Buffer<Symbol>
24:          * @param aFP
25:          *            AssignmentFileParser
26:          * @throws InterruptedException
27:          *             InterruptedException
28:          * @return
29:          * @throws ParserException
30:          *             ParserException
31:          */
32:         @Override
33:         public void parse(final RouterConfiguration rc, final TempVariableAssignment tVA,
34:                         final Buffer<AbstractSymbol> buffer, final AssignmentFileParser aFP)
35:                         throws InterruptedException, ParserException {
36:                 final AbstractSymbol nextSymbol = buffer.peek();
37:•                if (nextSymbol instanceof StringSymbol) {
38:                         tVA.setValue(((StringSymbol) nextSymbol).getText());
39:                         tVA.setReady(true);
40:                         buffer.remove();
41:                         aFP.setState(new AssignmentInitialState());
42:                 } else {
43:                         throw new ParserException("no valid symbol: "
44:                                         + buffer.peek().getClass().getCanonicalName() + " expected StringSymbol");
45:                 }
46:         }
47: }